#ifndef __QyToolRender__
#define __QyToolRender__

#include <QtCore/QList>
#include <QyAbstractRender.h>

class QyAbstractToolRenderItem {
public:
    QyAbstractToolRenderItem() : p_visible(true) {}
    virtual ~QyAbstractToolRenderItem() {}

    bool isVisible() const { return p_visible; }

    void setVisible( bool visible ) { p_visible = visible; }
    virtual void paint() const = 0;

private:
    bool p_visible;

};

class QyToolRender : public QyGL::AbstractRender {
public:
    virtual ~QyToolRender() {}

    virtual void paint( QyGL::ViewWidget * viewWidget );
    void addItem( QyAbstractToolRenderItem * item );
    void removeItem( QyAbstractToolRenderItem * item );

private:
    QList<QyAbstractToolRenderItem*> renderItems;

};

#endif//__QyToolRender__
